//函数的嵌套调用和链式访问

#include<stdio.h>
#include<string.h>

// //调用一次函数,num+1
// void Add(int *p)//改变函数外的值要用传址
// {
//     (*p)++;
// }

// int main()
// {
//     int num =0;
//     Add(&num);
//     printf("%d\n",num);

//     Add(&num);
//     printf("%d\n",num);

//     Add(&num);
//     printf("%d\n",num);
    
//     return 0;
// }

//函数可以嵌套调用
// void a()
// {
//     printf("1");
// }
// void b(){a();}
// int main()
// {
//     b();
//     return 0;
// }

//链式访问
// int main()
// {
//     int len = strlen("asd");
//     printf("%d",len);

//     //链式访问//把一个函数返回值直接当输入值
//     printf("%d\n",strlen("asd"));

//     printf("%d",printf("%d",printf("%d",43)));//printf返回的是打印出来的字符个数
// }


int main()
{
    int a=1;
    int b=3;

    int Add(int ,int);//声明后不报错
    //只需要函数名,参数是什么,返回类型,具体是否存在无关紧要
    //函数声明一般出现在使用前,要满足 先声明后使用
    //函数声明一般在头文件
    //一般习惯main函数在最                                后

    printf("%d",Add(a,b));//Add在后面,未声明,报错
}

int Add(int x,int y)
{
    return x+y;
}

//保护代码  -静态库.lib
//